package com.lovo.dao;

import com.lovo.dto.UserDTO;
import com.lovo.model.UserDO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @title
 * @author: luo
 * @date: 2020/11/17 10:50
 */
public interface UserDAO {
    /**
     * 用户登录页
     * @param userDTO
     * @return
     */
    UserDO login(UserDTO userDTO);

    /**
     * 按用户编号查找用户
     * @param userId
     * @return
     */
    UserDO getUserById(Integer userId);

    /**
     * 添加用户
     * @param userDO 用户对象
     * @return 影响数据库行数
     */
    int insertUser(UserDO userDO);

    /**
     * 按用户编号删除用户
     * @param userId 用户编号
     * @return 影响数据库行数
     */
    int deleteUser(Integer userId);

    /**
     * 修改用户信息
     * @param userDO 修改的用户
     * @return 影响数据的行数
     */
    int updateUser(UserDO userDO);

    /**
     * 查询所有的用户
     * @return 所有的用户集合
     */
    List<UserDO> selectAllUser();

    /**
     * 按编号查询学生
     * @param userId
     * @return
     */
    UserDO findById(Integer userId);


}
